function PreGraph_History_Obs_Shock(DateVec,Obs,Shock,ObsTag,ShockTag,SubsetInd,FileName)

Ind_Rec_2001        =   DateVec>=datetime(2000,12,1) & DateVec<=datetime(2002,1,1);
Ind_Rec_2008        =   DateVec>=datetime(2007,12,1) & DateVec<=datetime(2009,12,31);

%% Preliminary Assignment
LineStyleList       =   {':','--','-';...
                         'b','m','r';...
                         1.5,1.5,1.5};
LineStyle           =   LineStyleList(:,SubsetInd);
Obs                 =   Obs(SubsetInd,:);
Shock               =   Shock(SubsetInd,:);
ObsTag              =   ObsTag(SubsetInd);
ShockTag            =   ShockTag(SubsetInd);
%% 2X1 Plot
Num_V               =   size(Obs,1);
N_col               =   1;
N_row               =   1;
fig_size            =   [N_col*500,N_row*300];
Pos                 =   [50, 50, fig_size];  
subplot_gap         =   [0.1,0.05];
subplot_VMargin     =   [0.1,0.05];
subplot_HMargin     =   [0.05,0.02]; 

TempSubPlotFun      =   @(id)subtightplot(N_row,N_col,id,...
                                          subplot_gap,...
                                          subplot_VMargin,...
                                          subplot_HMargin);

% Observation History
fig         =   figure('Name','History of Observation','Position',Pos);
ax          =   TempSubPlotFun(1);
Title       =   'Observation History';
[PH,ax]     =   MultiSeriesSoloPlot(DateVec,Obs,LineStyle,1,'Datetime',ax);
xlabel(ax,'Year','fontsize',14,'interpreter','latex');
% title(ax,Title,'fontsize',14,'interpreter','latex');
recessionplot;
legend(PH,ObsTag,...
       'fontsize',10,'interpreter','latex','Box','off','Color','none',...
       'location','south','orientation','horizontal');
fig.PaperUnits  =   'points';
fig.PaperSize   =   fig_size;
if nargin>5
    print(fig,[FileName,'ObsHistory_Pre'],'-dpdf','-bestfit');
end
%% Shock History
%--0
fig         =   figure('Name','History of Shocks','Position',Pos);
ax          =   TempSubPlotFun(1);
Title       =   'Shock History';
[PH,ax]     =   MultiSeriesSoloPlot(DateVec,Shock,LineStyle,1,'Datetime',ax);
% title(ax,Title,'fontsize',14,'interpreter','latex');
xlabel(ax,'Year','fontsize',14,'interpreter','latex');
recessionplot;
legend(PH,ShockTag,...
       'fontsize',10,'interpreter','latex','Box','off','Color','none',...
       'location','northwest','orientation','horizontal');
fig.PaperUnits  =   'points';
fig.PaperSize   =   fig_size;
if nargin>5
    print(fig,[FileName,'ShockHistory_Pre'],'-dpdf','-bestfit');
end

%--1
for id_shock=1:Num_V
    fig         =   figure('Name','History of Shocks','Position',Pos);
    ax          =   TempSubPlotFun(1);
    Title       =   'Shock History';
    [PH,ax]     =   MultiSeriesSoloPlot(DateVec,Shock,LineStyle,1,'Datetime',ax);
    hold on
    plot(ax,DateVec(Ind_Rec_2001),Shock(id_shock,Ind_Rec_2001),...
            'linestyle',LineStyle{1,id_shock},...
            'color',LineStyle{2,id_shock},...
            'linewidth',4);
    plot(ax,DateVec(Ind_Rec_2008),Shock(id_shock,Ind_Rec_2008),...
            'linestyle',LineStyle{1,id_shock},...
            'color',LineStyle{2,id_shock},...
            'linewidth',4);
    xlabel(ax,'Year','fontsize',14,'interpreter','latex');
    recessionplot;
    legend(PH,ShockTag,...
           'fontsize',10,'interpreter','latex','Box','off','Color','none',...
           'location','northwest','orientation','horizontal');
    fig.PaperUnits  =   'points';
    fig.PaperSize   =   fig_size;
    if nargin>5
        print(fig,[FileName,'ShockHistory_Pre_',num2str(id_shock)],'-dpdf','-bestfit');
    end
end

